package br.com.unirio.formula1.visao.modelos;

import java.util.ArrayList;
import java.util.List;

import javax.swing.table.AbstractTableModel;

import br.com.unirio.formula1.modelo.ColocacaoResultado;

public class ModeloResultadoCorrida extends AbstractTableModel
{

    /**
     * 
     */
    private static final long serialVersionUID = 259722716995826662L;

    private List<ColocacaoResultado> li = new ArrayList<ColocacaoResultado>();
    private String[] columnNames = { "Colocacao", "Piloto", "Equipe", "Pontos" };

    public ModeloResultadoCorrida(List<ColocacaoResultado> list)
    {
	this.li = list;
    }

    @Override
    public String getColumnName(int columnIndex)
    {
	return columnNames[columnIndex];
    }

    @Override
    public int getRowCount()
    {
	return li.size();
    }

    @Override
    public int getColumnCount()
    {
	return 4;
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex)
    {
	ColocacaoResultado colocacao = li.get(rowIndex);
	switch (columnIndex)
	{
	    case 0:
		return colocacao.getPosicao();
	    case 1:
		return colocacao.getPiloto().getNome() + " " + colocacao.getPiloto().getSobrenome();
	    case 2:
		return colocacao.getPiloto().getEquipe().getNome();
	    case 3:
		return colocacao.getPontos();

	}
	return null;
    }

    @Override
    public Class<?> getColumnClass(int columnIndex)
    {
	switch (columnIndex)
	{
	    case 0:
		return Integer.class;
	    case 1:
		return String.class;
	    case 2:
		return String.class;
	    case 3:
		return Double.class;

	}
	return null;
    }
}
